// import Peer from 'peerjs'
// import {server} from '@/config'
// import {success} from '@/utils/log'
// import definePeerStore from '@/stores/peer'
//
// const enum CallCode {
//     Free, Ok, Request, Busy, Hangup
// }
//
// interface ResBody {
//     code: CallCode,
//     message: string
// }
//
//
// interface CallBackData {
//     dataConn: any,
//     mediaConn: any,
//     isCalled: boolean
// }
// const installPeer = (CallBack: (data:CallBackData) => void) => {
//     console.log('start connect peerjs');
//     const {host, port, path} = server.peerServer
//     const localPeer = new Peer({host, port, path});
//     const peerStore=definePeerStore()
//     // let DataConn=undefined;
//     // let MediaConn=undefined;
//     // let IsCalled=false;
//     // localPeer.on('connection', dataConnection => {
//     //     success("localPeer on connection");
//     //     console.log(dataConnection)
//     //     // 发起连接，如果是我方在忙线，则不能请求通话
//     //     if (peerStore.dataConnection) {
//     //         dataConnection.on('open', () => {
//     //             dataConnection.send({
//     //                 instruction: CallCode.Busy,
//     //                 code: CallCode.Busy,
//     //                 message: '对方忙线中，请稍后在播'
//     //             })
//     //         })
//     //     } else {
//     //         dataConnection.on('data', (data: any) => {
//     //             console.log("dataConnection data", data);
//     //             //请求通话
//     //             if (data.code === CallCode.Ok) {
//     //                 // currentDataConnection = dataConnection;
//     //                 // peerStore.dataConnected = true;
//     //                 // 返回数据流和表示接通
//     //                 // CallBack(dataConnection,true);
//     //                 CallBack({
//     //                     dataConn:DataConn,
//     //                     mediaConn:MediaConn,
//     //                     isCalled:true
//     //                 })
//     //             }
//     //             //对方挂断
//     //             else if (data.code === CallCode.Hangup) {
//     //                 dataConnection.close()
//     //                 CallBack({
//     //                     dataConn:undefined,
//     //                     mediaConn:MediaConn,
//     //                     isCalled:false
//     //                 })
//     //                 // CallBack(null,null,false)
//     //             }
//     //         })
//     //
//     //     }
//     // })
//     // localPeer.on("call", mediaConnection => {
//     //     console.log("localPeer call", mediaConnection);
//     //     MediaConn=mediaConnection;
//     //     // peerStore.mediaConnection = mediaConnection;
//     // });
//     //
//     // localPeer.on("disconnected", () => {
//     //     console.warn("localPeer disconnected");
//     //     localPeer.reconnect();
//     // });
//     //
//     // localPeer.on("error", error => {
//     //     console.error("localPeer error,the error information is : ", JSON.stringify(error));
//     // });
//
//     localPeer.on("open", localPeerId => {
//         console.log("localPeer opened,the local peer id is: ", localPeerId);
//         peerStore.localPeer = localPeer;
//     });
// }
// export {installPeer};